Ch 8 TCP

utg

CPE 426 Computer Networks

Chapter 8:

Text Chapter 26: TCP

TOPICS

„

Chapter 26: TCP (Transmission Control Protocol)

„

Transport Services

„

Transport Protocol Techniques

„

Congestion Control/Avoidance Techniques

„

Packet Loss and Adaptive Retransmission

„

Buffers, Flow Control and Windows

„

TCP Three-Way Handshake

„

TCP Congestion Control

„

TCP Segment Format

Chapter 26

„ TCP

„ Transport Control Protocol

„ Reliable Protocol for the Internet

„ TCP/IP (TCP over IP)

Chapter 26 TCP: Reliable

Transport Service

„ ในกรณีที่เราต้องการความม ่ันใจในการส่ง

ข้อมูลได้อย่างถูกต้อง ผ่าน IP ที่มีการทํางาน

แบบ Datagram เราต้องใส่ Mechanism

เพื่อให้ความม่ันใจด ังกล่าวลงใน Protocol

ของ Layer 4 (Host-to-Host หรือ

Transport)

„ เราจะต ้องเลือกใช ้ TCP (Transmission Control Protocol)

„ เรียกรวมๆว่า TCP/IP

„ การใช ้ TCP+IP ทําให ้ผู ้เขียน Application ไม่ต ้องกังวล

เรื่องของการส่งข ้อมูลอีกต่อไป

„ เพียงแต่นําข ้อมูลส่งให ้ พร ้อมกําหนด IP Address และ Port Number จากนั้น ระบบ TCP/IP จะจัดการที่เหลือให ้

„ ผิดกับกรณีที่ใช ้ UDP/IP ในบทที่แล ้ว

„ กล่าวคือ TCP จะให ้ Reliability ในการสื่อสาร

Chapter 26 TCP: 26.3 TCP

Service

„ TCP ให้บร ิการของ 7 ส่วนใหญ่ๆ ด ังนี้

„ Connection Orientation

„ TCP ให ้บริการแบบ Connection-Oriented ซ ึ่ง Application จะต ้องร ้องขอการเชื่อมต่อก่อนที่จะมีการส่งข ้อมูล

„ Point-to-Point Communication

„ แต่ละ Connection ของ TCP จะมีสอง End Points เท่านั้น

(กําหนด Port ต ้นทาง-ปลายทาง และ IP ต ้นทาง-ปลายทาง )

„ Complete Reliability

„ TCP จะ Guarantee ว่าข ้อมูลที่ส่ง จะไปถึงที่หมายได ้อย่าง

ถูกต ้อง สมบูรณ์ และเป็นลําดับ

„ Full Duplex Communication

„ แต่ละ TCP Connection จะยอมให ้ข ้อมูลส่งได ้สองทิศทาง

ตลอดเวลา

Chapter 26 TCP: 26.3 TCP

Service(2)

„ TCP ให้บร ิการของ 7 ส่วนใหญ่ๆ ด ังนี้(ต่อ)

„ Stream Interface

„ Application สามารถส่งข ้อมูลได ้อย่างต่อเนื่อง Octet ต่อ Octet ผ่าน TCP Connection โดย TCP จะไม่มีการรวมกลุ่มของ Data ให ้เป็น Record หรือ Message และจะไม่ Guarantee ว่าแต่ละ

ส่วนของข ้อมูลที่ไปถึงมีขนาดเท่ากับที่ Application ส่งให ้(มีการ

ทํา Segmentation)

„ Reliable Connection Startup

„ TCP ให ้สอง Application สามารถเริ่มต ้นการสื่อสารได ้อย่าง

มั่นใจ

„ Graceful Connection Shutdown

„ ก่อนที่จะจบ Connection นั้น TCP จะให ้ความมั่นใจว่าข ้อมูลได ้

ถูกส่งอย่างครบถ ้วนทั้งสองฝั่ง และทั้งสองฝั่งยินยอมให ้มีการจบ

การเชื่อมต่อ

Chapter 26 TCP: 26.4 End-to-End

Service and Virtual Connection

„ TCP จ ัดว่าเป็น End-to-End Protocol เหมือน

UDP

„ เนื่องจากมันให ้บริการการสื่อสารระหว่าง Application ของสอง Computer

„ แต่ม ันเป็น Connection-Oriented

„ เนื่องจากต ้องมีการทํา Connection ก่อนส่งข ้อมูล

„ และต ้องมีการทํา Disconnection

„ Connection ของ TCP จ ัดว่าเป็น Virtual

Connection

„ เนื่องจากกระทําผ่าน Software เพราะตัว Network (IP) นั้นเป็น Connectionless(Datagram)

Chapter 26 TCP: 26.4 End-to-End

Service and Virtual Connection

„

แต่ละ TCP Message(Segment) จะถูกบรรจุใน IP

Datagram และส่งผ่าน Internet เมื่อถึงปลายทาง IP

จะปลอก Datagram Payload และส่งต่อไปย ัง TCP

„

IP จะมอง TCP เป็นแค่ Data ที่จะต ้องส่ง

„

TCP จะมอง IP เป็นพาหนะสําหรับส่งข ้อมูล ไปยัง TCP อีกฝั่งหนึ่ง

Chapter 26 TCP: 26.5 Transport

Protocol Techniques

„

ปัญหาที่ End-to-End Transport Protocol จะต้อง

เจอ ในการได้มาซึ่ง Reliable Service

„

Unreliable Communication

„

Message อาจจะสูญหาย ซํ้าซ ้อน ผิดพลาด ถูกหน่วงเวลา หรือส่งมา

ไม่เป็นลําดับ (Lost, Duplicated, Corrupted, Delayed, Out of Order)

„

End System Reboot

„

ถ ้า Host เกิด Crash หรือมีการ Reboot ข ้อมูลที่ค ้างอยู่ จะต ้องไม่

สับสนกับ Session ที่ถูกสร ้างขึ้นมาใหม่

„

Heterogeneous End System

„

แต่ละ Host ที่เชื่อมต่อใน Internet มีความสามารถรับ-ส่งข ้อมูลได ้ไม่

เท่ากัน

„

Congestion in the Internet

„

เมื่อมีการส่งข ้อมูลมากเกินไป จะเกิดความคับคั่งภายใน Network ได ้

„

ปกติแล้ว Transport Protocol จะใช้หลายๆวิธีร่วมก ัน

ในการจ ัดการก ับปัญหาเหล่านี้ เราจะกล่าวพื้นฐานแต่

ละอ ันต่อไป

Chapter 26 TCP: 26.5.1 Sequencing to

Handle Duplicates and Out-of-Order

Delivery

„ Transport Protocol จะทํา

Sequencing (กําหนดหมายเลขลําด ับ

ของข้อมูล) ในการจ ัดการก ับปัญหาเรื่อง

Duplicate Data และข้อมูลที่ไปถึงอย่าง

ไม่เป็นลําด ับ

„ คล ้ายกับวิธีที่กระทําใน Layer 2

„ หมายเลขข ้อมูลทําให ้เรารู ้ว่าข ้อมูลนั้นมาซํ้ากัน

หรือไม่

„ ทําให ้รู ้ว่าข ้อมูลมาเป็นลําดับหรือไม่

Chapter 26 TCP: 26.5.2 Retransmission to

Handle Lost Packet

„ ในการจ ัดการก ับ Packet Lost น ั้น Transport Protocol จะใช้ Positive

Acknowledgement ร่วมก ับการ

Retransmission

„ คล ้ายกับ Mechanism ใน Layer 2 เช่นกัน

„ เมื่อ Frame มาถึงอย่างถูกต ้อง จะมีการส่ง ACK

Message กลับไป

„ เมื่อผู ้ส่ง ส่งข ้อมูลแต่ละ Packet จะมีการจับเวลาโดยใช ้

Timer

„ ถ ้า Timer Expire (คือไม่ได ้รับ ACK ในเวลาที่กําหนด) ผู ้ส่งจะ

ทําการ Retransmission ข ้อมูลนั้นไปใหม่

„ ถ ้า Packet มีการ Delay มาก อาจจะทําให ้เกิด

Retransmission ยังผลให ้เกิด Duplicate Packet

Chapter 26 TCP: 26.5.3

Techniques to Avoid Replay

„ ในกรณีที่ Network มี Delay สูง อาจจะทําให้

เกิด ‘Replay Error’ โดยที่ Packet ที่ Delay

น ั้นจะส่งผลต่อการสื่อสารในตอนหล ัง

ยกต ัวอย่าง

„ สองคอมพิวเตอร์ตกลงจะสื่อสารกันเมื่อเวลา 13.00 น.

„ คอมพิวเตอร์เครื่องหนึ่ง ส่ง 10 Packet ติดต่อกันไปยัง

ฝั่งตรงข ้าม

„ ปัญหาด ้าน Hardware ทําให ้ Packet 3 ถูก Delay ไป

„ เส ้นทางการส่งข ้อมูลถูกเปลี่ยน เพื่อใช ้เส ้นทางที่ไม่ผ่าน

อุปกรณ์ที่มีปัญหา

„ Protocol ที่คอมพิวเตอร์ต ้นทางส่ง Packet 3 ไปใหม่

จากนั้นส่ง Packet อื่นๆตาม จากนั้นจบการสื่อสาร

Chapter 26 TCP: 26.5.3

Techniques to Avoid Replay

„

สองคอมพิวเตอร์ตกลงจะสื่อสารกันเมื่อเวลา 13.00 น.

„

คอมพิวเตอร์เครื่องหนึ่ง ส่ง 10 Packet ติดต่อกันไปยังฝั่งตรงข ้าม

„

ปัญหาด ้าน Hardware ทําให ้ Packet 3 ถูก Delay ไป

„

เส ้นทางการส่งข ้อมูลถูกเปลี่ยน เพื่อใช ้เส ้นทางที่ไม่ผ่านอุปกรณ์ที่มี

ปัญหา

„

Protocol ที่คอมพิวเตอร์ต ้นทางส่ง Packet 3 ไปใหม่ จากนั้นส่ง

Packet อื่นๆตาม จากนั้นจบการสื่อสาร

„

เวลา 13.05 น. คอมพิวเตอร์ทั้งสองตกลงที่จะสื่อสารกันใหม่

„

หลังจากผู ้ส่งคนเดิม ส่งไปได ้สอง Packet แล ้ว ตัว Packet 3 จาก

การสื่อสารครั้งแรกที่ถูก Delay มาถึงยังผู ้รับ

„

ต่อจากนั้น Packet ที่ 3 จากการสื่อสารครั้งที่สองมาถึงยังผู ้รับ

„

Transport Protocol ต้องออกแบบเพื่อจ ัดการก ับเรื่อง

นี้ มิฉะน ั้นผู้ร ับจะได้ Packet 3 ที่ผิดพลาด ในขณะที่

โยนทิ้ง Packet ที่ถูกต้อง

„

Protocol จะต ้อง Mark แต่ละ Session โดยใช ้ ID ที่เฉพาะ ไม่ซํ้า

กัน โดยการนํา ID กลับมาใช ้ใหม่ต ้องให ้แน่ใจว่าจะไม่เกิด Replay (เวลาต ้องห่างกัน)

Replay (Selective Reject)

0

1

3

4

5

6

7

8

9

2

0

1

?

2

3

Chapter 26 TCP: 26.5.3

Techniques to Avoid Replay

„ Replay ย ังสามารถเก ิดก ับ Control

Packet ได้เช่นก ัน

„ เช่น Connection Closing Packet ถูก Delay

และไปถึงหลังจากมีการทํา Connection ใหม่

ครั้งที่สอง

Chapter 26 TCP: 26.5.4 Flow

Control to Prevent Data Overrun

„ ในการจ ัดการเรื่อง Heterogeneous End

System ที่มีความสามารถไม่เท่าก ัน ต ัว

Transport Protocol จะใช้วิธีการของ Flow

Control เพื่อควบคุม

„ Stop-and-go Protocol มักจะไม่ใช ้ เนื่องจากมี

ประสิทธิภาพตํ่า

„ ปกติจะใช ้ Sliding Window Flowcontrol

„ เช่นเดียวกัน จะคล ้ายกับ Flow Control ใน Layer 2

„ การคํานวณ Efficiency จะคล ้ายกับที่กล่าวมาแล ้วใน Layer 2

„ ให ้ดูใน Slide ก่อนหน ้า หรือดูจาก CPE 326 Course Notes

Chapter 26 TCP: 26.5.4 Flow

Control to Prevent Data Overrun

Chapter 26 TCP: 26.6 Techniques

To Avoid Congestion

„ Congestion เก ิดเมื่อมีข้อมูลที่จะส่งมากเก ิน

กว่าที่ Network จะร ับได้

„ อธิบายได ้โดยใช ้ Queuing Theory

„ Packet จะถูก Delay ไปมาก ในลักษณะ Exponential

„ ถ ้า Queue ล ้น Packet จะสูญหาย

1 Gbps

1 Gbps

1 Gbps

Chapter 26 TCP: 26.6 Techniques

To Avoid Congestion

„

Retransmission เนื่องจาก Queue ล้น จะทําให้เกิด

Congestion Collapse

„

Packet ที่ Retransmit จะถูกโยนทิ้งอีก เพราะ Queue ล ้น

„

Congestion จะต้องตรวจจ ับได้อย่างท ันท่วงที และทํา

การแก้ไข มิฉะน ั้นจะเกิดผลเสียหายต่อท ั้ง Network ซึ่งการตรวจจ ับของ Transport Protocol จะใช้

พื้นฐานจากสองวิธี

„

Intermediate System(Router) จะต ้องแจ ้งไปยังผู ้ส่ง เมื่อมี

Congestion

„

ผู ้ส่งตรวจจับการเกิด Congestion เอง โดยดูจากค่า Delay หรือ

จํานวน Loss ของ Packet

„

ใน Internet จะใช ้วิธีการนี้ เนื่องจาก Delay และ Loss ส่วนใหญ่ (ถ ้า

ไม่ใช่เกิดจาก Hardware Failure) จะเป็นผลมาจาก Congestion

„

การแก ้คือลดการส่งลง ทําได ้โดยการควบคุมที่ Flow Control (ลด

ขนาดของ Window ลง)

Chapter 26 TCP: 26.7 The Art of

Protocol Design

„ แต่ละ Technique ที่กล่าวมาจะต้องถูกเลือกใช้

อย่าระว ัง และส่งผลต่อการออกแบบ Protocol

„ Protocol Header จะต้องมี Field ที่จะรองร ับ

ข้อมูลต่างๆเพื่อควบคุมการทํางาน

„ จะต้องแก้ปัญหาเรื่อง Computer Reboot

ด้วย เพื่อป้องก ัน Duplicate Connection หรือ

การทํา Connection ที่ไม่ถูกต้อง

„ ในห ัวข้อที่จะกล่าวต่อไป จะเป็นรายละเอียด

เฉพาะที่ TCP เลือกใช้

Chapter 26 TCP: 26.8 Techniques

Used In TCP To Handle Packet Loss

„

TCP ใช้การ Retransmission ในกรณีที่ Packet

Loss

„

ผ่านการทํา Positive Acknowledge ในการสื่อสารทั้งสองทิศทาง

„

มีการใช ้ Transmission Timer

„

Transmission Timer ควรตั้งไว ้เท่าไร

„

ตํ่าเกินไป จะมีผลให ้มี Duplicate Data ใน Network ที่ช ้าเช่น

Satellite Network

„

สูงเกินไป จะทําให ้ประสิทธิภาพลดลง เช่นใน LAN

„

Congestion ที่เกิดขึ้นจะทําให ้เกิด Delay และมีผลต่อการตั้ง

Retransmission Timer

„

Ack อาจจะมี Delay เพิ่มในระดับ Magnitude ถ ้ามี Congestion

„

Retransmission Timer ใน TCP จะต ้องมีความสามารถปรับให ้

เหมาะกับ Delay ใน Network

„

ไม่เหมือนกับ Layer 2 Retransmission Timer ซึ่งเป็นระดับ Point-to-Point (Link) ที่สามารถคํานวณและกําหนดล่วงหน ้าได ้

Chapter 26 TCP: 26.8 Techniques

Used In TCP To Handle Packet Loss

Chapter 26 TCP: 26.9 Adaptive

Retransmission

„

ผู้ออกแบบ TCP เล็งเห็นว่า การต ั้ง Retransmission Timer ที่คงที่จะมีผลต่อประสิทธิภาพที่ลดลงของ

Internet

„

เนื่องจาก Internet ประกอบด ้วย Network หลายๆ Technology ที่

มีค่า Delay ต่างกัน

„

TCP จะใช้ Adaptive Retransmission Timer ที่

สามารถปร ับค่าตามค่า Delay ของ Network

„

TCP จะประมาณค่า Round-trip Delay จากเวลาที่ส่ง Packet ออกไปและได ้รับคําตอบกลับมา เช่นตอนทํา Connection หรือช่วง

การส่งข ้อมูลและได ้รับ ACK

„

มันจะคํานวณค่า Round-Trip Delay โดยใช ้ Weighted Average ร่วมกับค่า Variance

„

ปกติ มันจะตั้งค่า Timer สูงกว่า Round Trip เล็กน ้อย

„

เมื่อ Delay เริ่มมีการเปลี่ยนแปลง มันจะตั้งค่า Timer เพิ่มขึ้นที่สูงกว่า

ค่า Mean ที่คํานวณได ้ ร่วมกับค่า Variance

„

การใช ้ Weight Average จะทําให ้สามารถ Reset Timer เมื่อ Delay กลับเข ้าสู่ค่าปกติ

Chapter 26 TCP: 26.10 Comparison

of Retransmission Timer

„ พ ิจารณาจากการเก ิด Packet Loss ของสอง

Network ที่มี Delay ต่างก ัน

„ ถ ้า Delay มีค่าสูง TCP จะตั้งค่า Timer ที่สูงตาม

Chapter 26 TCP: 26.11 Buffers, Flow

Control and Windows

„ TCP ใช้ Window Mechanism ในการควบคุม

การใหลข้อมูล

„ ต่างจาก Window Flow Control ใน Layer 2 ที่นับเป็น

Frame แต่ TCP จะกําหนด Window เป็น Byte ของ

Data ที่ส่งได ้

„ หลังจากทํา Connection คอมพิวเตอร์ทั้งสองฝั่งจะ

กําหนดค่า Buffer (Memory) เพื่อใช ้ในการรับ-ส่งข ้อมูล

„ จากนั้นมันจะส่งขนาดของ Buffer ที่เหลือไปยังฝั่งตรงข ้าม

„ เมื่อได ้รับข ้อมูล มันจะ Acknowledge ด ้วยค่าของ Buffer ที่ยัง

สามารถรับได ้ (Buffer ที่เหลือ)

„ ดังนั้นคําว่า Window ในความหมายของ TCP คือ จํานวน

Buffer เป็น Byte ที่ยังเหลืออยู่ที่จะรับข ้อมูลได ้

„ เรียก Window Advertisement

„ ถ ้าผู ้ส่ง ส่งข ้อมูลเร็วเก ินไป ผู ้รับไม่สามารถ Process ทัน มันจะ

Acknowledge กลับมาด ้วย Zero Window

„ ผู ้ส่งต ้องหยุดส่ง

Chapter 26 TCP: 26.11 Buffers, Flow

Control and Windows(2)

„ ในต ัวอย่าง ผู้ส่งใช้ขนาดของ Segment สูงสุด

1000 Bytes โดยกําหนด Initial Window

Size 2500 Bytes

„ ผู ้ส่งส่งสาม Segment ขนาด 1000, 1000 และ 500

Bytes

„ ผู ้รับ Process ไม่ทัน ส่ง Zero Window Advertisement

„ ผู ้ส่งหยุดส่ง

„ ต่อมาผู ้รัยทําการ Process 2000 Byte ของ Data จากนั้นทําการ Advertise ว่ารับได ้อีก 2000 Byte เหนือ

จากที่รับแล ้ว 2500 Byte

„ Window Size จะวัดต่อจาก Data ที่ทําการ Acknowledge เสมอ

„ ผู ้ส่งส่งอีกสอง Segment แต่ละอันมีขนาด 1000 Byte

„ Window Size ลดลงเหลือศูนย์อีก ทําให ้ผู ้ส่งหยุดส่ง

Chapter 26 TCP: 26.11 Buffers, Flow

Control and Windows(3)

Chapter 26 TCP: 26.12 TCP Three-

Way Handshake

„

ในการที่จะให้แน่ใจว่าการทํา Connection และการ Terminate Connection ไม่ผิดพลาด TCP จะใช้วิธีการของ Three-Way Handshake

„

ระหว่างการทํา Three-way Handshake จะมีการแลกเปลี่ยน Control Message และกําหนดขนาดของ Buffer

„

Three-Way Handshake จะสามารถจัดการกับกรณีที่เกิด Packet Loss, Duplicate, Delay และ Replay ได ้ และจะ Guarantee ว่า Connection จะ

สร ้างและจบลง เมื่อทั้งสองฝ่ายตกลงกัน

„

Control Message ที่ใช้ระหว่างทํา Three-Way Handshake Connection เรียก Synchronization Segment (SYN

Segment) และเรียก Finish Segment(FIN Segment) สําหร ับ

Control Message ตอนทํา Termination

„

ตอนทํา Three-Way Handshake จะมีการเลือก Sequence Number

„

แต่ละด ้านจะเลือกเลข 32 Bit แบบ Random เป็น Sequence เริ่มต ้น ของ

Data

„

ถ ้าเกิดการ Reboot และ Application พยายามจะทํา Connection ใหม่

โอกาสที่จะได ้ Sequence เดิมจะน ้อยมาก ดังนั้นปัญหา Replay จะเลี่ยงได ้

„

ในกรณีที่ทํา Close Connection จะมีการส่ง FIN ร่วมก ับ

Acknowledge เพื่อให้แน่ใจว่า Data ได้ร ับครบถ้วนก่อนจะปิด

Connection

Chapter 26 TCP: 26.12 TCP Three-

Way Handshake(Open Connection)

Chapter 26 TCP: 26.12 TCP Three-

Way Handshake(Close Connection)

Chapter 26 TCP: 26.13 TCP

Congestion Control

„ TCP มี Congestion Control ที่ดูเหมือน

ประหลาดกว่าท่ัวไป

„ เนื่องจาก Congestion ทําให ้เกิด Delay ส่งผลให ้เกิด

Retransmission ส่งผลกลับมาให ้ Congestion หนักขึ้น

คือเกิด Congestion Collapse

„ แม ้ว่าการจัดการกับ Congestion ทั่วไปจะใช ้วิธีลดอัตรา

การส่ง แต่ TCP ไม่สามารถคํานวณอัตราการส่งได ้ เพราะ

วัดการส่งจาก Buffer ที่ได ้รับจากอีกฝั่งหนึ่ง

„ ดังนั้นการควบคุมอัตราการส่งใน TCP จะควบคุมจากการ

เปลี่ยนแปลงขนาดของ Window แทน

„ การลดขนาด Window ลงชั่วคราว จะเป็นการลดอัตราการส่ง

ข ้อมูลไปในตัว

„ เมื่อมี Data Loss (คือ Congestion ในมุมมอง TCP) ขนาด

Window จะถูกลดลง

Chapter 26 TCP: 26.13 TCP

Congestion Control(2)

„ TCP มี Congestion Control หลาย

Algorithm ที่นิยมคือวิธีของ ‘Slow Start’

„ เมื่อเริ่ม Connection ใหม่ หรือกรณีที่มี Message Loss มันจะเริ่มจากการส่งหนึ่ง Message

„ ถ ้ามันได ้รับ ACK มันจะส่งสอง Message

„ ถ ้าได ้รับ ACK ทั้งสอง มันจะส่ง 4 Messgae

„ และจะส่งเป็นสองเท่าตราบใดที่ได ้รับ ACK ครบ เรื่อยไปจนถึง

ส่งเท่ากับครึ่งหนึ่งของ Window Size ที่ Advertise จากผู ้รับ

„ จากนั้นมันจะเพิ่มการส่งแบบ Linear ตราบเท่าที่ไม่มีการ

Congestion

„ ถ ้ามี Congestion จะเริ่มส่งทีละ Message ใหม่

„ ดังนั้นทุกคนจะหยุดส่งถ ้าเกิด Congestion และป้องกันการเกิด

Congestion Collapse

„ Congestion Control จะใช ้ร่วมกับ Congestion

Avoidance ซึ่งมี Algorithm มากมาย

Chapter 26 TCP: 26.14 TCP Segment

Format

„ มี Format เดียว ใช้ก ับ Message,

Acknowledge, SYN, FIN

„ แต่ละ Message ของ TCP เรียก Segment

„ แต่ละ Segment สามารถส่ง Data, Acknowledge ของ

Data ที่ได ้รับ, Window Advertisement

„ Acknowledgement Number และ Window Field หมายถึง

Data ที่ได ้รับ คือ Sequence Number เริ่มต ้นของ Data ถัดไป

ที่ต ้องการ และ Buffer ที่เหลือ ถ ้า Data ที่ได ้ไม่เป็น Order มัน

จะส่ง Ack Number ของ Data ที่คาดหวังซํ้าๆจนกว่าจะได ้รับ

„ Sequence Number หมายถึง Sequence Number ของ Byte แรกของ Data ที่ส่ง

„ Checksum จะเป็น Checksum ของ Header และ Data

„ Code Bit บ่งบอกว่าเป็น Segment ชนิดใหน (Data, SYN, FIN)

Chapter 26 TCP: 26.14 TCP Segment

Format

TCP Port

„ เช่นเดียวก ันก ับ UDP Port

„ Well-Known Port: 0-1023

„ FTP: 20/21 (Data/Control)

„ Telnet: 23

„ SMTP: 25

„ DNS: 53 (UDP/TCP)

„ BOOTP: 67/68 (Server/Client) (Mostly UDP)

„ HTTP: 80

„ Registered Port: 1024-49151

„ Dynamic Port: 49152-65535

End of Week 11

„ HW 6: UDP และ TCP

„ ให ้ Download Question จาก Web

„ ส่ง สัปดาห์หน ้า

„ Next Week, Week 12

„ Routing Part I: Routing Mechanism

previous page start